Electronic devices that serve as client devices frequently run executable code that corresponds to a host device or service. In some cases, the executable code on the electronic device is one-half of a communication system that requires a known state at both ends. In other cases, a party with an interest in the electronic device, such as a corporate owner of an employee device simply wants to have certain versions of executable code running for synchronization or maintenance purposes.
In such cases, the host device or service may occasionally download a new version of the executable code to the electronic device. There is often a verification process involving a digital signature so that the electronic device can assure itself that the executable code is authentic.
However, when the target electronic device is not a computer, but a sub-system of the computer, memory constraints can place a limit on how large an executable can be and still take advantage of cryptographic authentication because there isn't enough memory overhead to perform the necessary functions.